package com.pn.mapper;

import com.github.pagehelper.Page;
import com.pn.entity.Auth;
import com.pn.entity.User;
import com.pn.entity.UserPageList;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface UserMapper {
    //根据用户名查找用户的业务方法
    User findUserByCode(String userCode);

    //查询用户菜单树的业务方法
    List<Auth> findAuthByUid(Integer userId);

    //用户分页查询
    Page<User> userList(UserPageList userPageList);

    //添加用户
    void addUser(User user);

    //用户的启用禁用
    @Update("update user_info set user_state = #{userState} where user_id = #{userId}")
    int updateState(User user);

    //根据用户ids修改用户为删除状态的方法
    int setIsDeleteByUids(List<Integer> userIdList);

    //修改用户
    int updateUserByUid(User user);

    //重置密码
    int updatePwdByUid(Integer userId, String pwd);
}
